﻿namespace STLTypeVisualizer
{
	using System;
	using System.Collections.Generic;
	using VisualGDBExpressions;

	public class FilterFactory : IExpressionFilterFactory
	{
		public IEnumerable<ExpressionFilterRecord> CreateExpressionFilters()
		{
			List<ExpressionFilterRecord> list1 = new List<ExpressionFilterRecord>();
			list1.Add(new CharFilter().Record);

			list1.Add(new GccStringFilter().Record);
			list1.Add(new ClangStringFilter().Record);

			list1.Add(new GccVectorFilter().Record);
			list1.Add(new ClangVectorFilter().Record);

			list1.Add(new GccListFilter().Record);
			list1.Add(new ClangListFilter().Record);

			list1.Add(new GccSetFilter().Record);
			list1.Add(new ClangSetFilter().Record);

			list1.Add(new GccMapFilter().Record);
			list1.Add(new ClangMapFilter().Record);

			list1.Add(new GccUniquePtrFilter().Record);
			list1.Add(new ClangUniquePtrFilter().Record);

			list1.Add(new GccSharedPtrFilter().Record);
			list1.Add(new ClangSharedPtrFilter().Record);

			list1.Add(new GccUMapFilter().Record);
			list1.Add(new ClangUMapFilter().Record);

			return list1;
		}
	}
}

